﻿<%@ Page Title="Crear Cuenta" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CrearCuenta.aspx.cs" Inherits="Services_CrearCuenta" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

    <fieldset>
        <legend id="LegendUserCreation" runat="server"></legend>
        <br />
        <div class="col_12">
            <div class="col_7">
            
                <%-- ### MatrículaNómina / Nómina ### --%>
                <div class="control-group">
                    <asp:Label ID="MatriculaNomina" class="control-label" for="MatriculaNomina" runat="server">  </asp:Label>
                    <div class="controls">
                        <div class="input-prepend">
                            <span id="AddOnSpan" class="add-on" runat="server"></span>
                            <asp:TextBox CssClass="span2" MaxLength="7" ID="MatriculaNominaTextBox" ValidationGroup="CrearCuentaValidation"
                                runat="server"></asp:TextBox>
                            <asp:RegularExpressionValidator ID="RegExpMatriculaNomina" ControlToValidate="MatriculaNominaTextBox"
                                Display="Dynamic" EnableClientScript="True" ValidationExpression="^[0-9]{7}$"
                                Text="<img src='../Images/cross.png' alt='cross'>" 
                                runat="server" ValidationGroup="CrearCuentaValidation"></asp:RegularExpressionValidator>
                            <asp:RequiredFieldValidator ID="RequiredMatriculaNomina" ControlToValidate="MatriculaNominaTextBox"
                                ValidationGroup="CrearCuentaValidation" Text="<img src='../Images/cross.png' alt='cross'>"
                                Display="Dynamic" runat="server" EnableClientScript="True"></asp:RequiredFieldValidator>
                            <span id="matnomhelp" class="label label-info">?</span>
                        </div>
                    </div>
                </div>


                <%-- ### Nombre ### --%>
                <div class="control-group">
                    <asp:Label ID="Label2" class="control-label" for="PrimerNombreTextBox" runat="server"> Nombre(s):</asp:Label>
                    <div class="controls">
                        <asp:TextBox CssClass="span3" ID="PrimerNombreTextBox" ValidationGroup="CrearCuentaValidation"
                            runat="server"></asp:TextBox>
                        <asp:RegularExpressionValidator ID="RegExpPrimerNombre" ControlToValidate="PrimerNombreTextBox"
                            Display="Dynamic" EnableClientScript="True" ValidationExpression="^(?!(?:\S*\s){5})([a-zA-ZáéíóúÁÉÍÓÚñÑ\'\s]+)$"
                            Text="<img src='../Images/cross.png' alt='cross'>" ErrorMessage="Nombre(s) incorrecto(s) (revisa que no existan n&uacute;meros o caracteres raros)."
                            ValidationGroup="CrearCuentaValidation" runat="server"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredPrimerNombre" ControlToValidate="PrimerNombreTextBox"
                            Text="<img src='../Images/cross.png' alt='cross'>" Display="Dynamic" runat="server"
                            EnableClientScript="True" ErrorMessage="Nombre(s) no puede ser un campo vac&iacute;o."
                            ValidationGroup="CrearCuentaValidation"></asp:RequiredFieldValidator>
                    </div>
                </div>


                <%-- ### Apellidos ### --%>
                <div class="control-group">
                    <asp:Label ID="Label3" class="control-label" for="ApellidoTextBox" runat="server"> Apellidos: </asp:Label>
                    <div class="controls">
                        <asp:TextBox CssClass="span3" ID="ApellidoTextBox" ValidationGroup="CrearCuentaValidation"
                            runat="server"></asp:TextBox>
                        <asp:RegularExpressionValidator ID="RegExpApellido" ControlToValidate="ApellidoTextBox"
                            Display="Dynamic" EnableClientScript="True" ValidationExpression="^(?!(?:\S*\s){5})([a-zA-ZáéíóúÁÉÍÓÚñÑ\'\s]+)$"
                            Text="<img src='../Images/cross.png' alt='cross'>" ErrorMessage="Apellido(s) incorrecto(s) (revisa que no existan n&uacute;meros o caracteres raros)."
                            ValidationGroup="CrearCuentaValidation" runat="server"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredApellido" ControlToValidate="ApellidoTextBox"
                            Text="<img src='../Images/cross.png' alt='cross'>" Display="Dynamic" runat="server"
                            EnableClientScript="True" ErrorMessage="Apellido(s) no puede ser un campo vac&iacute;o."
                            ValidationGroup="CrearCuentaValidation"></asp:RequiredFieldValidator>
                    </div>
                </div>


                <%-- ### Contraseña ### --%>
                <div class="control-group">
                    <asp:Label ID="Label4" class="control-label" for="ContrasenaTextBox" runat="server"> Contrase&ntilde;a: </asp:Label>
                    <div class="controls">
                        <asp:TextBox CssClass="span3" ID="ContrasenaTextBox" MaxLength="8" TextMode="Password"
                            ValidationGroup="CrearCuentaValidation" runat="server"></asp:TextBox>
                        <asp:RegularExpressionValidator ID="RegExpContrasena" ControlToValidate="ContrasenaTextBox"
                            Display="Dynamic" EnableClientScript="True" Text="<img src='../Images/cross.png' alt='cross'>"
                            ValidationExpression=".*"
                            ErrorMessage="La contrase&ntilde;a proporcionada es d&eacute;bil." runat="server"
                            ValidationGroup="CrearCuentaValidation"></asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator ID="RequiredContrasena" ControlToValidate="ContrasenaTextBox"
                            Text="<img src='../Images/cross.png' alt='cross'>" Display="Dynamic" ValidationGroup="CrearCuentaValidation" runat="server"
                            EnableClientScript="True" ErrorMessage="Contrase&ntilde;a no puede ser un campo vac&iacute;o."></asp:RequiredFieldValidator>
                        <span id="passhelp" class="label label-info">?</span>
                    </div>
                </div>


                <%-- ### Confirmar contraseña ### --%>
                <div class="control-group">
                    <asp:Label ID="Label5" class="control-label" for="ContrasenaTextBoxConfirm" runat="server"> Confirmar contrase&ntilde;a: </asp:Label>
                    <div class="controls">
                        <asp:TextBox CssClass="span3" ID="ContrasenaTextBoxConfirm" MaxLength="8" TextMode="Password"
                            ValidationGroup="CrearCuentaValidation" runat="server"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredContrasenaConfirm" ControlToValidate="ContrasenaTextBoxConfirm"
                            Text="<img src='../Images/cross.png' alt='cross'>" Display="Dynamic" runat="server"
                            EnableClientScript="True" ErrorMessage="Debes confirmar la contrase&ntilde;a."
                            ValidationGroup="CrearCuentaValidation"></asp:RequiredFieldValidator>
                        
                        <%-- Este Control compara las contraseñas --%>
                        <asp:CompareValidator ID="CompareContrasena" EnableClientScript="True" Display="Dynamic"
                            ControlToCompare="ContrasenaTextBoxConfirm" ControlToValidate="ContrasenaTextBox"
                            Text="<img src='../Images/cross.png' alt='cross'>" Type="String" ErrorMessage="Las contrase&ntilde;as no coinciden."
                            ValidationGroup="CrearCuentaValidation" runat="server" />
                    </div>
                </div>


                <%-- ### Fecha de Nacimiento ### --%>
                <div id="AlumnoFechaNacimientoDiv" class="control-group" visible="false" runat="server">
                    <asp:Label ID="Label6" class="control-label" for="FechaNacimiento" runat="server"> Fecha de Nacimiento (DD/MM/AAAA): </asp:Label>
                    <div class="controls">
                        <span class="form-inline">
                            <asp:TextBox CssClass="span3" placeholder="Ejemplo: 31/12/2012" ID="FechaNacimientoTextBox" ValidationGroup="CrearCuentaValidation"
                            runat="server" Height="18px"></asp:TextBox>
                            <asp:CompareValidator Display="Dynamic" ID="valcDate" ControlToValidate="FechaNacimientoTextBox" 
                                Operator="DataTypeCheck" Type="Date" runat="server"></asp:CompareValidator>  
                            <asp:RequiredFieldValidator ID="RequiredFechaNacimiento" ControlToValidate="FechaNacimientoTextBox" Display="Dynamic"  
                                Text="<img src='../Images/cross.png' alt='cross'>" EnableClientScript="True" Type="Date"
                                ErrorMessage="Necesitas ingresar tu fecha de nacimiento." 
                                ValidationGroup="CrearCuentaValidation" runat="server"></asp:RequiredFieldValidator>                       
                            <span id="dobhelp" class="label label-info">?</span> 
                        </span>
                    </div>
                </div>
            </div>
            <%-- END SPAN7 --%>


            <div class="col_5">
                <asp:Label ID="UsuarioStatusLabel" Visible="False" runat="server"></asp:Label>
                <div id="errordiv" class="alert alert-error" style="display: none">
                </div>
                <asp:ValidationSummary ID="CrearCuentaValidationSummary" CssClass="alert alert-error" DisplayMode="BulletList"
                    EnableClientScript="True" runat="server" ValidationGroup="CrearCuentaValidation"
                    HeaderText="<strong>Revisa los siguientes errores e intenta de nuevo:</strong>" />
            </div>
            <%-- END SPAN5 --%>

        </div>
        <%-- END ROW --%>
    </fieldset>


    <%-- ###  Botón para crear cuenta ### --%>
    <div id="CrearCancelarAdminDiv" class="form-actions" style="text-align:center" runat="server">
        <asp:Button CssClass="btn btn-small btn-danger" ID="CancelarCuentaButton" runat="server" Visible="false" Text="Cancelar" OnClick="CancelarCreacionCuenta" />
        <asp:Button CssClass="btn btn-small btn-success" ID="CrearCuentaButton" runat="server" Text="Crear Cuenta" ValidationGroup="CrearCuentaValidation"
             OnClick="CrearCuentaClick" />
    </div>

    <script type="text/javascript">

        $('#ctl00_MainContent_Label6').css('padding-top', '0px');

        $(function () {
            $("#dobhelp").popover({
                title: 'Fecha de nacimiento',
                content: "Una fecha v&aacute;lida tiene &uacute;nicamente n&uacute;meros siguiendo el formato " +
                "d&iacute;a/mes/a&ntilde;o (las diagonales no se incluyen). Ejemplo: 27/12/1988"
            });
            $("#matnomhelp").popover({
                title: 'Ayuda',
                content: "Debe estar compuesta por 7 n&uacute;meros, el prefijo ya se incluye. " +
                "Ejemplos: 0798214, 1013214"
            });
            $("#passhelp").popover({
                title: 'Contrase&ntilde;a segura',
                content: "La contrase&ntilde;a debe ser de <strong>8 caracteres</strong> y cumplir con <strong>al menos 3</strong> de las siguientes caracter&iacute;sticas:" +
                "<ul><li>Al menos una letra min&uacute;scula</li><li>Al menos una letra en may&uacute;scula</li><li>Al menos un n&uacute;mero</li>" +
                "<li>Al menos uno de los siguientes caracteres especiales: ! @ $ % ^ & * ( ) + ?</li>"
            });
            $("#ctl00_MainContent_DiaText").ForceIntegerOnly();
            $("#ctl00_MainContent_MesText").ForceIntegerOnly();
            $("#ctl00_MainContent_AnioText").ForceIntegerOnly();
            $("#ctl00_MainContent_MatriculaNominaTextBox").ForceIntegerOnly();
            $("#ctl00_MainContent_PrimerNombreTextBox").ForceAlphabeticOnly();
            $("#ctl00_MainContent_ApellidoTextBox").ForceAlphabeticOnly();

            // Arregla el error de padding del Label CrearCuentaValidationSummary
            $('#ctl00_MainContent_CrearCuentaValidationSummary').css('padding-right', '14px');
            $('#ctl00_MainContent_CrearCuentaValidationSummary').css('color', '#B94A48');

        });

    </script>
</asp:Content>
